$(function () {
  // 找到 title 给他设置键盘发生变化的事件
  $("#title").on("keydown", function (e) {
    // 判断是否用户 输入回车键  如果是声明一个变量存入value值
    if (e.keyCode === 13) {
      var value = $(this).val().trim();
      // 判断 内容是否为空 如果为空 则弹出警示框
      if (value.length === 0) return alert("请输入内容");
      // 准备一个数组 储存数据
      var obj = {
        title: value,
        done: false,
      };
      // 赋值 调用这个函数
      var data = getDate();
      // 将从本地储存得到的值 存入对象里   push()方法
      data.push(obj);
      // 将对象存入本地储存
      setData(data);
      // 调用函数
      render();
      // 清空  当前value的内容
      $(this).val("");
    }
  });
  // 判断用户是不是第一次输入 查看本地有没有数据
  function getDate() {
    return JSON.parse(window.localStorage.getItem("mytodolist")) || [];
  }
  // 定义一个函数 将从input中获取的数据 渲染到页面
  function render() {
    var data = getDate(); // 从本地中读取数据
    var yes = ""; // 正在进行中
    var no = ""; // 已完成
    // 遍历数组
    $.each(data, function (i, e) {
      // 判断 如果为true 执行yes   如果为false 执行no
      if (e.done) {
        yes += `
            <li>
            <input type="checkbox" checked>
            <p>${e.title}</p>
            <a href="javascript:;" data-index="${i}"></a>
            </li>
            `;
      } else {
        no += `
        <li>
        <input type='checkbox'>
        <p>${e.title}</p>
        <a href='javascript:;' data-index="${i}"></a>
        </li>
        `;
      }
    });
    $("ul").html(yes);
    $("ol").html(no);
  }
  // 调用函数渲染页面
  render();

  //   事件委托给 input 创建点击事件
  $("ul,ol").on("click", "input", function () {
    // 获取input 的 checked的值
    var checked = $(this).prop("checked");
    // 读取本地数据
    var data = getDate();
    // 获取到index
    var index = $(this).siblings("a").attr("data-index");
    data[index].done = checked;
    // 存入本地储存中
    setData(data);
    // 调用函数 渲染页面
    render();
  });
  // 事件委托给 a 创建点击事件
  $("ul,ol").on("click", "a", function () {
    // 判断是否要删除
    if (window.confirm("是否要删除")) {
      // 获取到a  的索引
      var index = $(this).attr("data-index");
      //  读取本地存储
      var data = getDate();
      // 删除 本地数据
      data.splice(index, 1);
      // 存入本地数据
      setData(data);
      // 重新渲染到页面
      render();
    }
  });

  // 将对象存入本地储存
  function setData(data) {
    window.localStorage.setItem("mytodolist", JSON.stringify(data));
  }
});






/// 爸爸的好大儿
